Personal mobile devices such as smartphones have become so common that most people carry one with them at all times. Modern smartphones have a multitude of sensors, and are often capable of detecting device location, orientation, and motion. In addition, smartphones typically have various data communications capabilities, allowing them to reliably communicate with other devices as well as with servers and services.